home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / alsa / asoundef.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-18  |  17.8 KB  |  311 lines

  1. /**
  2.  * \file include/asoundef.h
  3.  * \brief Application interface library for the ALSA driver
  4.  * \author Jaroslav Kysela <perex@perex.cz>
  5.  * \author Abramo Bagnara <abramo@alsa-project.org>
  6.  * \author Takashi Iwai <tiwai@suse.de>
  7.  * \date 1998-2001
  8.  *
  9.  * Definitions of constants for the ALSA driver
  10.  */
  11. /*
  12.  *   This library is free software; you can redistribute it and/or modify
  13.  *   it under the terms of the GNU Lesser General Public License as
  14.  *   published by the Free Software Foundation; either version 2.1 of
  15.  *   the License, or (at your option) any later version.
  16.  *
  17.  *   This program is distributed in the hope that it will be useful,
  18.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *   GNU Lesser General Public License for more details.
  21.  *
  22.  *   You should have received a copy of the GNU Lesser General Public
  23.  *   License along with this library; if not, write to the Free Software
  24.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  25.  *
  26.  */
  27.  
  28. #ifndef __ALSA_ASOUNDEF_H
  29. #define __ALSA_ASOUNDEF_H
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. /**
  36.  * \defgroup Digital_Audio_Interface Constants for Digital Audio Interfaces
  37.  * AES/IEC958 channel status bits.
  38.  * \{
  39.  */
  40.  
  41. #define IEC958_AES0_PROFESSIONAL    (1<<0)    /**< 0 = consumer, 1 = professional */
  42. #define IEC958_AES0_NONAUDIO        (1<<1)    /**< 0 = audio, 1 = non-audio */
  43. #define IEC958_AES0_PRO_EMPHASIS    (7<<2)    /**< mask - emphasis */
  44. #define IEC958_AES0_PRO_EMPHASIS_NOTID    (0<<2)    /**< emphasis not indicated */
  45. #define IEC958_AES0_PRO_EMPHASIS_NONE    (1<<2)    /**< no emphasis */
  46. #define IEC958_AES0_PRO_EMPHASIS_5015    (3<<2)    /**< 50/15us emphasis */
  47. #define IEC958_AES0_PRO_EMPHASIS_CCITT    (7<<2)    /**< CCITT J.17 emphasis */
  48. #define IEC958_AES0_PRO_FREQ_UNLOCKED    (1<<5)    /**< source sample frequency: 0 = locked, 1 = unlocked */
  49. #define IEC958_AES0_PRO_FS        (3<<6)    /**< mask - sample frequency */
  50. #define IEC958_AES0_PRO_FS_NOTID    (0<<6)    /**< fs not indicated */
  51. #define IEC958_AES0_PRO_FS_44100    (1<<6)    /**< 44.1kHz */
  52. #define IEC958_AES0_PRO_FS_48000    (2<<6)    /**< 48kHz */
  53. #define IEC958_AES0_PRO_FS_32000    (3<<6)    /**< 32kHz */
  54. #define IEC958_AES0_CON_NOT_COPYRIGHT    (1<<2)    /**< 0 = copyright, 1 = not copyright */
  55. #define IEC958_AES0_CON_EMPHASIS    (7<<3)    /**< mask - emphasis */
  56. #define IEC958_AES0_CON_EMPHASIS_NONE    (0<<3)    /**< no emphasis */
  57. #define IEC958_AES0_CON_EMPHASIS_5015    (1<<3)    /**< 50/15us emphasis */
  58. #define IEC958_AES0_CON_MODE        (3<<6)    /**< mask - mode */
  59. #define IEC958_AES1_PRO_MODE        (15<<0)    /**< mask - channel mode */
  60. #define IEC958_AES1_PRO_MODE_NOTID    (0<<0)    /**< mode not indicated */
  61. #define IEC958_AES1_PRO_MODE_STEREOPHONIC (2<<0) /**< stereophonic - ch A is left */
  62. #define IEC958_AES1_PRO_MODE_SINGLE    (4<<0)    /**< single channel */
  63. #define IEC958_AES1_PRO_MODE_TWO    (8<<0)    /**< two channels */
  64. #define IEC958_AES1_PRO_MODE_PRIMARY    (12<<0)    /**< primary/secondary */
  65. #define IEC958_AES1_PRO_MODE_BYTE3    (15<<0)    /**< vector to byte 3 */
  66. #define IEC958_AES1_PRO_USERBITS    (15<<4)    /**< mask - user bits */
  67. #define IEC958_AES1_PRO_USERBITS_NOTID    (0<<4)    /**< user bits not indicated */
  68. #define IEC958_AES1_PRO_USERBITS_192    (8<<4)    /**< 192-bit structure */
  69. #define IEC958_AES1_PRO_USERBITS_UDEF    (12<<4)    /**< user defined application */
  70. #define IEC958_AES1_CON_CATEGORY    0x7f    /**< consumer category */
  71. #define IEC958_AES1_CON_GENERAL        0x00    /**< general category */
  72. #define IEC958_AES1_CON_LASEROPT_MASK    0x07    /**< Laser-optical mask */
  73. #define IEC958_AES1_CON_LASEROPT_ID    0x01    /**< Laser-optical ID */
  74. #define IEC958_AES1_CON_IEC908_CD    (IEC958_AES1_CON_LASEROPT_ID|0x00)    /**< IEC958 CD compatible device */
  75. #define IEC958_AES1_CON_NON_IEC908_CD    (IEC958_AES1_CON_LASEROPT_ID|0x08)    /**< non-IEC958 CD compatible device */
  76. #define IEC958_AES1_CON_MINI_DISC    (IEC958_AES1_CON_LASEROPT_ID|0x48)    /**< Mini-Disc device */
  77. #define IEC958_AES1_CON_DVD        (IEC958_AES1_CON_LASEROPT_ID|0x18)    /**< DVD device */
  78. #define IEC958_AES1_CON_LASTEROPT_OTHER    (IEC958_AES1_CON_LASEROPT_ID|0x78)    /**< Other laser-optical product */
  79. #define IEC958_AES1_CON_DIGDIGCONV_MASK 0x07    /**< digital<->digital converter mask */
  80. #define IEC958_AES1_CON_DIGDIGCONV_ID    0x02    /**< digital<->digital converter id */
  81. #define IEC958_AES1_CON_PCM_CODER    (IEC958_AES1_CON_DIGDIGCONV_ID|0x00)    /**< PCM coder */
  82. #define IEC958_AES1_CON_MIXER        (IEC958_AES1_CON_DIGDIGCONV_ID|0x10)    /**< Digital signal mixer */
  83. #define IEC958_AES1_CON_RATE_CONVERTER    (IEC958_AES1_CON_DIGDIGCONV_ID|0x18)    /**< Rate converter */
  84. #define IEC958_AES1_CON_SAMPLER        (IEC958_AES1_CON_DIGDIGCONV_ID|0x20)    /**< PCM sampler */
  85. #define IEC958_AES1_CON_DSP        (IEC958_AES1_CON_DIGDIGCONV_ID|0x28)    /**< Digital sound processor */
  86. #define IEC958_AES1_CON_DIGDIGCONV_OTHER (IEC958_AES1_CON_DIGDIGCONV_ID|0x78)    /**< Other digital<->digital product */
  87. #define IEC958_AES1_CON_MAGNETIC_MASK    0x07    /**< Magnetic device mask */
  88. #define IEC958_AES1_CON_MAGNETIC_ID    0x03    /**< Magnetic device ID */
  89. #define IEC958_AES1_CON_DAT        (IEC958_AES1_CON_MAGNETIC_ID|0x00)    /**< Digital Audio Tape */
  90. #define IEC958_AES1_CON_VCR        (IEC958_AES1_CON_MAGNETIC_ID|0x08)    /**< Video recorder */
  91. #define IEC958_AES1_CON_DCC        (IEC958_AES1_CON_MAGNETIC_ID|0x40)    /**< Digital compact cassette */
  92. #define IEC958_AES1_CON_MAGNETIC_DISC    (IEC958_AES1_CON_MAGNETIC_ID|0x18)    /**< Magnetic disc digital audio device */
  93. #define IEC958_AES1_CON_MAGNETIC_OTHER    (IEC958_AES1_CON_MAGNETIC_ID|0x78)    /**< Other magnetic device */
  94. #define IEC958_AES1_CON_BROADCAST1_MASK 0x07    /**< Broadcast mask */
  95. #define IEC958_AES1_CON_BROADCAST1_ID    0x04    /**< Broadcast ID */
  96. #define IEC958_AES1_CON_DAB_JAPAN    (IEC958_AES1_CON_BROADCAST1_ID|0x00)    /**< Digital audio broadcast (Japan) */
  97. #define IEC958_AES1_CON_DAB_EUROPE    (IEC958_AES1_CON_BROADCAST1_ID|0x08)    /**< Digital audio broadcast (Europe) */
  98. #define IEC958_AES1_CON_DAB_USA        (IEC958_AES1_CON_BROADCAST1_ID|0x60)    /**< Digital audio broadcast (USA) */
  99. #define IEC958_AES1_CON_SOFTWARE    (IEC958_AES1_CON_BROADCAST1_ID|0x40)    /**< Electronic software delivery */
  100. #define IEC958_AES1_CON_IEC62105    (IEC958_AES1_CON_BROADCAST1_ID|0x20)    /**< Used by another standard (IEC 62105) */
  101. #define IEC958_AES1_CON_BROADCAST1_OTHER (IEC958_AES1_CON_BROADCAST1_ID|0x78)    /**< Other broadcast product */
  102. #define IEC958_AES1_CON_BROADCAST2_MASK 0x0f    /**< Broadcast alternative mask */
  103. #define IEC958_AES1_CON_BROADCAST2_ID    0x0e    /**< Broadcast alternative ID */
  104. #define IEC958_AES1_CON_MUSICAL_MASK    0x07    /**< Musical device mask */
  105. #define IEC958_AES1_CON_MUSICAL_ID    0x05    /**< Musical device ID */
  106. #define IEC958_AES1_CON_SYNTHESIZER    (IEC958_AES1_CON_MUSICAL_ID|0x00)    /**< Synthesizer */
  107. #define IEC958_AES1_CON_MICROPHONE    (IEC958_AES1_CON_MUSICAL_ID|0x08)    /**< Microphone */
  108. #define IEC958_AES1_CON_MUSICAL_OTHER    (IEC958_AES1_CON_MUSICAL_ID|0x78)    /**< Other musical device */
  109. #define IEC958_AES1_CON_ADC_MASK    0x1f    /**< ADC Mask */
  110. #define IEC958_AES1_CON_ADC_ID        0x06    /**< ADC ID */
  111. #define IEC958_AES1_CON_ADC        (IEC958_AES1_CON_ADC_ID|0x00)    /**< ADC without copyright information */
  112. #define IEC958_AES1_CON_ADC_OTHER    (IEC958_AES1_CON_ADC_ID|0x60)    /**< Other ADC product (with no copyright information) */
  113. #define IEC958_AES1_CON_ADC_COPYRIGHT_MASK 0x1f    /**< ADC Copyright mask */
  114. #define IEC958_AES1_CON_ADC_COPYRIGHT_ID 0x16    /**< ADC Copyright ID */
  115. #define IEC958_AES1_CON_ADC_COPYRIGHT    (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x00)    /**< ADC with copyright information */
  116. #define IEC958_AES1_CON_ADC_COPYRIGHT_OTHER (IEC958_AES1_CON_ADC_COPYRIGHT_ID|0x60)    /**< Other ADC with copyright information product */
  117. #define IEC958_AES1_CON_SOLIDMEM_MASK    0x0f    /**< Solid memory based products mask */
  118. #define IEC958_AES1_CON_SOLIDMEM_ID    0x08    /**< Solid memory based products ID */
  119. #define IEC958_AES1_CON_SOLIDMEM_DIGITAL_RECORDER_PLAYER (IEC958_AES1_CON_SOLIDMEM_ID|0x00)    /**< Digital audio recorder and player using solid state memory */
  120. #define IEC958_AES1_CON_SOLIDMEM_OTHER    (IEC958_AES1_CON_SOLIDMEM_ID|0x70)    /**< Other solid state memory based product */
  121. #define IEC958_AES1_CON_EXPERIMENTAL    0x40    /**< experimental category */
  122. #define IEC958_AES1_CON_ORIGINAL    (1<<7)    /**< this bits depends on the category code */
  123. #define IEC958_AES2_PRO_SBITS        (7<<0)    /**< mask - sample bits */
  124. #define IEC958_AES2_PRO_SBITS_20    (2<<0)    /**< 20-bit - coordination */
  125. #define IEC958_AES2_PRO_SBITS_24    (4<<0)    /**< 24-bit - main audio */
  126. #define IEC958_AES2_PRO_SBITS_UDEF    (6<<0)    /**< user defined application */
  127. #define IEC958_AES2_PRO_WORDLEN        (7<<3)    /**< mask - source word length */
  128. #define IEC958_AES2_PRO_WORDLEN_NOTID    (0<<3)    /**< source word length not indicated */
  129. #define IEC958_AES2_PRO_WORDLEN_22_18    (2<<3)    /**< 22-bit or 18-bit */
  130. #define IEC958_AES2_PRO_WORDLEN_23_19    (4<<3)    /**< 23-bit or 19-bit */
  131. #define IEC958_AES2_PRO_WORDLEN_24_20    (5<<3)    /**< 24-bit or 20-bit */
  132. #define IEC958_AES2_PRO_WORDLEN_20_16    (6<<3)    /**< 20-bit or 16-bit */
  133. #define IEC958_AES2_CON_SOURCE        (15<<0)    /**< mask - source number */
  134. #define IEC958_AES2_CON_SOURCE_UNSPEC    (0<<0)    /**< source number unspecified */
  135. #define IEC958_AES2_CON_CHANNEL        (15<<4)    /**< mask - channel number */
  136. #define IEC958_AES2_CON_CHANNEL_UNSPEC    (0<<4)    /**< channel number unspecified */
  137. #define IEC958_AES3_CON_FS        (15<<0)    /**< mask - sample frequency */
  138. #define IEC958_AES3_CON_FS_44100    (0<<0)    /**< 44.1kHz */
  139. #define IEC958_AES3_CON_FS_NOTID    (1<<0)    /**< sample frequency non indicated */
  140. #define IEC958_AES3_CON_FS_48000    (2<<0)    /**< 48kHz */
  141. #define IEC958_AES3_CON_FS_32000    (3<<0)    /**< 32kHz */
  142. #define IEC958_AES3_CON_FS_22050    (4<<0)    /**< 22.05kHz */
  143. #define IEC958_AES3_CON_FS_24000    (6<<0)    /**< 24kHz */
  144. #define IEC958_AES3_CON_FS_88200    (8<<0)    /**< 88.2kHz */
  145. #define IEC958_AES3_CON_FS_768000    (9<<0)    /**< 768kHz */
  146. #define IEC958_AES3_CON_FS_96000    (10<<0)    /**< 96kHz */
  147. #define IEC958_AES3_CON_FS_176400    (12<<0)    /**< 176.4kHz */
  148. #define IEC958_AES3_CON_FS_192000    (14<<0)    /**< 192kHz */
  149. #define IEC958_AES3_CON_CLOCK        (3<<4)    /**< mask - clock accuracy */
  150. #define IEC958_AES3_CON_CLOCK_1000PPM    (0<<4)    /**< 1000 ppm */
  151. #define IEC958_AES3_CON_CLOCK_50PPM    (1<<4)    /**< 50 ppm */
  152. #define IEC958_AES3_CON_CLOCK_VARIABLE    (2<<4)    /**< variable pitch */
  153. #define IEC958_AES4_CON_MAX_WORDLEN_24    (1<<0)    /**< 0 = 20-bit, 1 = 24-bit */
  154. #define IEC958_AES4_CON_WORDLEN        (7<<1)    /**< mask - sample word length */
  155. #define IEC958_AES4_CON_WORDLEN_NOTID    (0<<1)    /**< not indicated */
  156. #define IEC958_AES4_CON_WORDLEN_20_16    (1<<1)    /**< 20-bit or 16-bit */
  157. #define IEC958_AES4_CON_WORDLEN_22_18    (2<<1)    /**< 22-bit or 18-bit */
  158. #define IEC958_AES4_CON_WORDLEN_23_19    (4<<1)    /**< 23-bit or 19-bit */
  159. #define IEC958_AES4_CON_WORDLEN_24_20    (5<<1)    /**< 24-bit or 20-bit */
  160. #define IEC958_AES4_CON_WORDLEN_21_17    (6<<1)    /**< 21-bit or 17-bit */
  161. #define IEC958_AES4_CON_ORIGFS        (15<<4)    /**< mask - original sample frequency */
  162. #define IEC958_AES4_CON_ORIGFS_NOTID    (0<<4)    /**< original sample frequency not indicated */
  163. #define IEC958_AES4_CON_ORIGFS_192000    (1<<4)    /**< 192kHz */
  164. #define IEC958_AES4_CON_ORIGFS_12000    (2<<4)    /**< 12kHz */
  165. #define IEC958_AES4_CON_ORIGFS_176400    (3<<4)    /**< 176.4kHz */
  166. #define IEC958_AES4_CON_ORIGFS_96000    (5<<4)    /**< 96kHz */
  167. #define IEC958_AES4_CON_ORIGFS_8000    (6<<4)    /**< 8kHz */
  168. #define IEC958_AES4_CON_ORIGFS_88200    (7<<4)    /**< 88.2kHz */
  169. #define IEC958_AES4_CON_ORIGFS_16000    (8<<4)    /**< 16kHz */
  170. #define IEC958_AES4_CON_ORIGFS_24000    (9<<4)    /**< 24kHz */
  171. #define IEC958_AES4_CON_ORIGFS_11025    (10<<4)    /**< 11.025kHz */
  172. #define IEC958_AES4_CON_ORIGFS_22050    (11<<4)    /**< 22.05kHz */
  173. #define IEC958_AES4_CON_ORIGFS_32000    (12<<4)    /**< 32kHz */
  174. #define IEC958_AES4_CON_ORIGFS_48000    (13<<4)    /**< 48kHz */
  175. #define IEC958_AES4_CON_ORIGFS_44100    (15<<4)    /**< 44.1kHz */
  176. #define IEC958_AES5_CON_CGMSA        (3<<0)    /**< mask - CGMS-A */
  177. #define IEC958_AES5_CON_CGMSA_COPYFREELY (0<<0)    /**< copying is permitted without restriction */
  178. #define IEC958_AES5_CON_CGMSA_COPYONCE    (1<<0)    /**< one generation of copies may be made */
  179. #define IEC958_AES5_CON_CGMSA_COPYNOMORE (2<<0)    /**< condition not be used */
  180. #define IEC958_AES5_CON_CGMSA_COPYNEVER    (3<<0)    /**< no copying is permitted */
  181.  
  182. /** \} */
  183.  
  184. /**
  185.  * \defgroup MIDI_Interface Constants for MIDI v1.0
  186.  * Constants for MIDI v1.0.
  187.  * \{
  188.  */
  189.  
  190. #define MIDI_CHANNELS            16    /**< Number of channels per port/cable. */
  191. #define MIDI_GM_DRUM_CHANNEL        (10-1)    /**< Channel number for GM drums. */
  192.  
  193. /**
  194.  * \defgroup MIDI_Commands MIDI Commands
  195.  * MIDI command codes.
  196.  * \{
  197.  */
  198.  
  199. #define MIDI_CMD_NOTE_OFF        0x80    /**< note off */
  200. #define MIDI_CMD_NOTE_ON        0x90    /**< note on */
  201. #define MIDI_CMD_NOTE_PRESSURE        0xa0    /**< key pressure */
  202. #define MIDI_CMD_CONTROL        0xb0    /**< control change */
  203. #define MIDI_CMD_PGM_CHANGE        0xc0    /**< program change */
  204. #define MIDI_CMD_CHANNEL_PRESSURE    0xd0    /**< channel pressure */
  205. #define MIDI_CMD_BENDER            0xe0    /**< pitch bender */
  206.  
  207. #define MIDI_CMD_COMMON_SYSEX        0xf0    /**< sysex (system exclusive) begin */
  208. #define MIDI_CMD_COMMON_MTC_QUARTER    0xf1    /**< MTC quarter frame */
  209. #define MIDI_CMD_COMMON_SONG_POS    0xf2    /**< song position */
  210. #define MIDI_CMD_COMMON_SONG_SELECT    0xf3    /**< song select */
  211. #define MIDI_CMD_COMMON_TUNE_REQUEST    0xf6    /**< tune request */
  212. #define MIDI_CMD_COMMON_SYSEX_END    0xf7    /**< end of sysex */
  213. #define MIDI_CMD_COMMON_CLOCK        0xf8    /**< clock */
  214. #define MIDI_CMD_COMMON_START        0xfa    /**< start */
  215. #define MIDI_CMD_COMMON_CONTINUE    0xfb    /**< continue */
  216. #define MIDI_CMD_COMMON_STOP        0xfc    /**< stop */
  217. #define MIDI_CMD_COMMON_SENSING        0xfe    /**< active sensing */
  218. #define MIDI_CMD_COMMON_RESET        0xff    /**< reset */
  219.  
  220. /** \} */
  221.  
  222. /**
  223.  * \defgroup MIDI_Controllers MIDI Controllers
  224.  * MIDI controller numbers.
  225.  * \{
  226.  */
  227.  
  228. #define MIDI_CTL_MSB_BANK        0x00    /**< Bank selection */
  229. #define MIDI_CTL_MSB_MODWHEEL             0x01    /**< Modulation */
  230. #define MIDI_CTL_MSB_BREATH               0x02    /**< Breath */
  231. #define MIDI_CTL_MSB_FOOT                 0x04    /**< Foot */
  232. #define MIDI_CTL_MSB_PORTAMENTO_TIME     0x05    /**< Portamento time */
  233. #define MIDI_CTL_MSB_DATA_ENTRY        0x06    /**< Data entry */
  234. #define MIDI_CTL_MSB_MAIN_VOLUME          0x07    /**< Main volume */
  235. #define MIDI_CTL_MSB_BALANCE              0x08    /**< Balance */
  236. #define MIDI_CTL_MSB_PAN                  0x0a    /**< Panpot */
  237. #define MIDI_CTL_MSB_EXPRESSION           0x0b    /**< Expression */
  238. #define MIDI_CTL_MSB_EFFECT1        0x0c    /**< Effect1 */
  239. #define MIDI_CTL_MSB_EFFECT2        0x0d    /**< Effect2 */
  240. #define MIDI_CTL_MSB_GENERAL_PURPOSE1     0x10    /**< General purpose 1 */
  241. #define MIDI_CTL_MSB_GENERAL_PURPOSE2     0x11    /**< General purpose 2 */
  242. #define MIDI_CTL_MSB_GENERAL_PURPOSE3     0x12    /**< General purpose 3 */
  243. #define MIDI_CTL_MSB_GENERAL_PURPOSE4     0x13    /**< General purpose 4 */
  244. #define MIDI_CTL_LSB_BANK        0x20    /**< Bank selection */
  245. #define MIDI_CTL_LSB_MODWHEEL            0x21    /**< Modulation */
  246. #define MIDI_CTL_LSB_BREATH               0x22    /**< Breath */
  247. #define MIDI_CTL_LSB_FOOT                 0x24    /**< Foot */
  248. #define MIDI_CTL_LSB_PORTAMENTO_TIME     0x25    /**< Portamento time */
  249. #define MIDI_CTL_LSB_DATA_ENTRY        0x26    /**< Data entry */
  250. #define MIDI_CTL_LSB_MAIN_VOLUME          0x27    /**< Main volume */
  251. #define MIDI_CTL_LSB_BALANCE              0x28    /**< Balance */
  252. #define MIDI_CTL_LSB_PAN                  0x2a    /**< Panpot */
  253. #define MIDI_CTL_LSB_EXPRESSION           0x2b    /**< Expression */
  254. #define MIDI_CTL_LSB_EFFECT1        0x2c    /**< Effect1 */
  255. #define MIDI_CTL_LSB_EFFECT2        0x2d    /**< Effect2 */
  256. #define MIDI_CTL_LSB_GENERAL_PURPOSE1     0x30    /**< General purpose 1 */
  257. #define MIDI_CTL_LSB_GENERAL_PURPOSE2     0x31    /**< General purpose 2 */
  258. #define MIDI_CTL_LSB_GENERAL_PURPOSE3     0x32    /**< General purpose 3 */
  259. #define MIDI_CTL_LSB_GENERAL_PURPOSE4     0x33    /**< General purpose 4 */
  260. #define MIDI_CTL_SUSTAIN                  0x40    /**< Sustain pedal */
  261. #define MIDI_CTL_PORTAMENTO               0x41    /**< Portamento */
  262. #define MIDI_CTL_SOSTENUTO                0x42    /**< Sostenuto */
  263. #define MIDI_CTL_SUSTENUTO                0x42    /**< Sostenuto (a typo in the older version) */
  264. #define MIDI_CTL_SOFT_PEDAL               0x43    /**< Soft pedal */
  265. #define MIDI_CTL_LEGATO_FOOTSWITCH    0x44    /**< Legato foot switch */
  266. #define MIDI_CTL_HOLD2                    0x45    /**< Hold2 */
  267. #define MIDI_CTL_SC1_SOUND_VARIATION    0x46    /**< SC1 Sound Variation */
  268. #define MIDI_CTL_SC2_TIMBRE        0x47    /**< SC2 Timbre */
  269. #define MIDI_CTL_SC3_RELEASE_TIME    0x48    /**< SC3 Release Time */
  270. #define MIDI_CTL_SC4_ATTACK_TIME    0x49    /**< SC4 Attack Time */
  271. #define MIDI_CTL_SC5_BRIGHTNESS        0x4a    /**< SC5 Brightness */
  272. #define MIDI_CTL_SC6            0x4b    /**< SC6 */
  273. #define MIDI_CTL_SC7            0x4c    /**< SC7 */
  274. #define MIDI_CTL_SC8            0x4d    /**< SC8 */
  275. #define MIDI_CTL_SC9            0x4e    /**< SC9 */
  276. #define MIDI_CTL_SC10            0x4f    /**< SC10 */
  277. #define MIDI_CTL_GENERAL_PURPOSE5         0x50    /**< General purpose 5 */
  278. #define MIDI_CTL_GENERAL_PURPOSE6         0x51    /**< General purpose 6 */
  279. #define MIDI_CTL_GENERAL_PURPOSE7         0x52    /**< General purpose 7 */
  280. #define MIDI_CTL_GENERAL_PURPOSE8         0x53    /**< General purpose 8 */
  281. #define MIDI_CTL_PORTAMENTO_CONTROL    0x54    /**< Portamento control */
  282. #define MIDI_CTL_E1_REVERB_DEPTH    0x5b    /**< E1 Reverb Depth */
  283. #define MIDI_CTL_E2_TREMOLO_DEPTH    0x5c    /**< E2 Tremolo Depth */
  284. #define MIDI_CTL_E3_CHORUS_DEPTH    0x5d    /**< E3 Chorus Depth */
  285. #define MIDI_CTL_E4_DETUNE_DEPTH    0x5e    /**< E4 Detune Depth */
  286. #define MIDI_CTL_E5_PHASER_DEPTH    0x5f    /**< E5 Phaser Depth */
  287. #define MIDI_CTL_DATA_INCREMENT           0x60    /**< Data Increment */
  288. #define MIDI_CTL_DATA_DECREMENT           0x61    /**< Data Decrement */
  289. #define MIDI_CTL_NONREG_PARM_NUM_LSB      0x62    /**< Non-registered parameter number */
  290. #define MIDI_CTL_NONREG_PARM_NUM_MSB      0x63    /**< Non-registered parameter number */
  291. #define MIDI_CTL_REGIST_PARM_NUM_LSB      0x64    /**< Registered parameter number */
  292. #define MIDI_CTL_REGIST_PARM_NUM_MSB    0x65    /**< Registered parameter number */
  293. #define MIDI_CTL_ALL_SOUNDS_OFF        0x78    /**< All sounds off */
  294. #define MIDI_CTL_RESET_CONTROLLERS    0x79    /**< Reset Controllers */
  295. #define MIDI_CTL_LOCAL_CONTROL_SWITCH    0x7a    /**< Local control switch */
  296. #define MIDI_CTL_ALL_NOTES_OFF        0x7b    /**< All notes off */
  297. #define MIDI_CTL_OMNI_OFF        0x7c    /**< Omni off */
  298. #define MIDI_CTL_OMNI_ON        0x7d    /**< Omni on */
  299. #define MIDI_CTL_MONO1            0x7e    /**< Mono1 */
  300. #define MIDI_CTL_MONO2            0x7f    /**< Mono2 */
  301.  
  302. /** \} */
  303.  
  304. /** \} */
  305.  
  306. #ifdef __cplusplus
  307. }
  308. #endif
  309.  
  310. #endif /* __ALSA_ASOUNDEF_H */
  311.